我們在寫 node.js 的時候,不會把所有東西都丟進一個 js 檔裡,這會讓檔案變得太過龐大和難以管理,取而代之的是,我們會將程式碼逐一分裝成不同的檔案,像把跟讀寫有關的 code 放進一支檔案裡;跟連線有關的 code 放另一支,而這些有著不同功能 code 的檔案被稱為「模組」(Modules),等我們有需求時再將這些 Modules 匯入進來。
舉例來說,我們在新增了一個 count.js 檔案,裡面有個可以計算 array 長度的 function :
let counter = function(arr){
return `There are ${arr.length} elements in this array` ;
}
// 呼叫這個function
counter(['熊仔', '剃刀', 'Leo王', '大支'])
// output:There are 4 elements in this array
接著,我們若是想在別的檔案使用這個 function,是不是只要輸入:
require('/count)
就好了呢?
非也,非也。
俗話說,感情就像候車月台 有人走 有人來。
Module 也是!
我們也得先進行一個輸出模組的動作,才能讓別人輸入它
因此,上面的 code 我們再加入輸出的動作:
let counter = function(arr){
return `There are ${arr.length} elements in this array` ;
}
// 輸出這個 Module
// module.exports = <要輸出的東西>
module.exports = counter
這樣就成功的輸出 count.js 這個 module了!
接著我們回到要使用 count module 的檔案,並用一個變數承接這個 exports:
const counter =require('/count')
這樣我們就能正常的使用 count module,是不是很簡單ㄚ!!!!